/**
 * 用户相关 API 接口
 * 包含用户注册、登录、密码管理等功能
 */

import request from '@/utils/request'

/**
 * 用户注册
 * @param {Object} data - 注册数据
 * @param {string} data.phone - 手机号（11位）
 * @param {string} data.password - 密码（至少6位）
 * @param {string} data.childName - 孩子姓名
 * @param {number} data.childAge - 孩子年龄
 * @returns {Promise} 注册结果 { success, userId }
 */
export function register(data) {
  return request({
    url: '/user/register',
    method: 'post',
    data
  })
}

/**
 * 用户登录
 * @param {Object} data - 登录数据
 * @param {string} data.phone - 手机号
 * @param {string} data.password - 密码
 * @returns {Promise} 登录结果 { token }
 */
export function login(data) {
  return request({
    url: '/user/login',
    method: 'post',
    data
  })
}

/**
 * 获取用户信息
 * @returns {Promise} 用户信息对象
 */
export function getUserInfo() {
  return request({
    url: '/user/info',
    method: 'get'
  })
}

/**
 * 发送验证码
 * 用于注册或重置密码时的短信验证
 * @param {Object} data - 请求数据
 * @param {string} data.phone - 手机号
 * @param {string} data.type - 验证码类型 'register' | 'reset_password'
 * @returns {Promise} 发送结果 { success, message }
 * @note 当前为模拟接口，实际生产环境需要接入短信服务
 */
export function sendVerifyCode(data) {
  return request({
    url: '/user/send-verify-code',
    method: 'post',
    data
  })
}

/**
 * 重置密码
 * @param {Object} data - 重置密码数据
 * @param {string} data.phone - 手机号
 * @param {string} data.verifyCode - 验证码
 * @param {string} data.newPassword - 新密码
 * @returns {Promise} 重置结果 { success, message }
 */
export function resetPassword(data) {
  return request({
    url: '/user/reset-password',
    method: 'post',
    data
  })
}